package com.hundsun.s3.platform.service;

import java.util.List;

/**
 * com.hundsun.s3.platform.service
 *
 * @Description:
 * @Author: zhanglei23613
 * @Date: Created in 14:35 2018/3/29 0029
 * V1.0 14:35 2018/3/29 0029
 */
public interface BackClientService {
    /**
     * 注册
     * @param username
     * @param password
     * @param sex
     * @param nickname
     * @param mailbox
     * @param birthday
     * @param phonenumber
     * @param dept_tree
     * @return
     */
    public String register(String username, String password, int sex,
                           String nickname, String mailbox, String birthday, String phonenumber, String dept_tree);
    /**
     * 修改用户信息
     * @param username
     * @param nickname
     * @param phonenumber
     * @param dept_tree
     * @return
     */
    public String updateUserInfo(String username, String nickname, String phonenumber, String dept_tree);
    /**
     * 判断用户是否存在
     * @param username
     * @return
     */
    public int judgeUsername(String username);
    /**
     * 分页查询客户
     * @param pageNo
     * @param pageSize
     * @param username
     * @param nickname
     * @param mailbox
     * @param phonenumber
     * @param dept_tree
     * @return
     */
    public <T>List<T> findPage(int pageNo, int pageSize, String username, String nickname, String mailbox, String phonenumber, String dept_tree);
    /**
     * 分页总数
     * @param username
     * @param nickname
     * @param mailbox
     * @param phonenumber
     * @param dept_tree
     * @return
     */
    public int getTotal(String username, String nickname, String mailbox, String phonenumber, String dept_tree);
    /**
     * 验证邮箱是否存在
     * @param mailbox
     * @return
     */
    public int judgeMailbox(String mailbox);
    /**
     * 注销用户
     * @param username
     * @return
     */
    public String cancle(String username);

    /**
     * 注销恢复
     * @param username
     * @return
     */
    public String cancleReopen(String username);

    /**
     * 判断用户是否已经注销
     * @param username
     * @return
     */
    public int judgeUsernameCancle(String username);
    /**
     * 获取部门集合
     * @return
     */
    public <T>List<T> getDeptList();
    /**
     * 根据用户名查聊天记录/
     * @param
     * @return
     */
    public <T>List<T> getMessageByUsername(String client_id, String staff_id, long start_time, long end_time);

    /**
     * 根据客户查询工单
     * @param pageNo
     * @param pageSize
     * @param username
     * @param start_time
     * @param end_time
     * @return/
     */
    public <T>List<T> getOrderByClientId(int pageNo, int pageSize, String username, long start_time, long end_time);

    /**
     * 获取总数
     * @param pageNo
     * @param pageSize
     * @param username
     * @param start_time
     * @param end_time
     * @return/
     */
    public int getOrderTotal(int pageNo, int pageSize, String username, long start_time, long end_time);

}
